import Page
from Page import Music
from Base.Base import Base
from selenium.webdriver.common.by import By


class MusicCategoryDetailPage(Base):
    """
    音乐-分类详情页面
    """

    def __init__(self, driver):
        Base.__init__(self, driver)

        # 音乐列表标题, 默认选择第1个, 取值范围[1,5]
        self.category_detail_list_music_title_text = (By.XPATH, Music.category_detail_list_music_title_text.format(1))

        # 音乐列表封面, 默认选择第1个, 取值范围[1,5]
        self.category_detail_list_music_cover_img = (By.XPATH, Music.category_detail_list_music_cover_img.format(1))

    def get_list_music_cover(self, index=1):
        """
        获取分类详情页面的列表音乐的封面

        :param index: 标签的索引, 默认取1, 取值范围: 1~5
        :return: 元素对象
        """
        self.category_detail_list_music_cover_img = (
            By.XPATH, Music.category_detail_list_music_cover_img.format(index))

        return self.find_element_o(self.category_detail_list_music_cover_img)

    def get_list_music_title(self, index=1):
        """
        获取分类详情页面的列表音乐的标题

        :param index: 标签的索引, 默认取1, 取值范围: 1~5
        :return: 元素对象
        """
        self.category_detail_list_music_title_text = (
            By.XPATH, Music.category_detail_list_music_title_text.format(index))

        return self.find_element_o(self.category_detail_list_music_title_text)

    def click_list_music(self, index=1):
        """
        点击指定索引的列表音乐

        :param index: 索引值, 默认取1, 取值范围: 1~5
        :return: None
        """
        self.category_detail_list_music_cover_img = (
            By.XPATH, Music.category_detail_list_music_cover_img.format(index))

        self.click_element(self.category_detail_list_music_cover_img)

    def is_display_list_music_cover(self, index=1):
        """
        分类详情页面的音乐封面, 是否存在

        :return:
        """
        self.category_detail_list_music_cover_img = (
            By.XPATH, Music.category_detail_list_music_cover_img.format(index))
        return self.is_display(self.category_detail_list_music_cover_img)


if __name__ == '__main__':
    pass
